Expand description
Ansi-cut
A library which provides a set of methods to work with colored strings (by ansi sequences).
Its a library agnostic library. Therefore it can be used with any ansi color library. (e.g. owo-colors, nu-ansi-term ).
Example
use owo_colors::*;
use ansi_str::AnsiStr;
let hello = "Hello World!".red().to_string();
let (hello, world) = hello.ansi_split_at(6);
println!("{}", hello);
println!("{}", world);
Note
The library doesn’t guarantee to keep style of usage of ansi sequences.
For example if your string is "\u{1b}[31;40mTEXT\u{1b}[0m"
and you will call get method.
It may not use "\u{1b}[31;40m"
but it use it as "\u{1b}[31m"
and "\u{1b}[40m"
.
Why that matters is because for example the following code example is not guaranteed to be true.
ⓘ
let hello1 = "Hello World!".red();
let hello2 = hello.ansi_get(..).unwrap();
assert_eq!(hello1, hello2)
Structs
Traits
AnsiStr represents a list of functions to work with colored strings defined as ANSI control sequences.